#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
void handlerSig(int sig)
{
    std::cout << "获得了一个信号: " << sig << std::endl;
    exit(13);
}
int main()
{
    for (int i = 0; i < 32; i++)
        signal(i, handlerSig);
    signal(SIGABRT, handlerSig);
    while (true)
    {
        std::cout << "Hello signal,pid:" << getpid() << std::endl;
        sleep(1);
        // int a = 10;
        // a /= 0;
        int *p = NULL;
        *p = 10;
    }
    return 0;
}
// int main()
// {
//     // for (int i = 0; i < 32; i++)
//     //     signal(i, handlerSig);
//     // for (int i = 1; i < 32; i++)
//     // {
//     //     sleep(1);
//     //     raise(i);
//     // }
//     // signal(2, handlerSig);
//     signal(SIGABRT, handlerSig);
//     while (true)
//     {
//         std::cout << "Hello signal,pid:" << getpid() << std::endl;
//         sleep(1);
//         abort();
//     }
//     return 0;
// }
